import { autoUpdater } from "electron-updater";
function setupAutoUpdater(mainWindow:any,dialog:any) {
      if (process.env.NODE_ENV === 'production') {
    // 设置更新服务器地址（根据你的实际情况修改）
    autoUpdater.setFeedURL({
      provider: 'github',
      owner: '你的GitHub用户名',
      repo: '你的仓库名',
      private: false
    });

    // 检查更新
    autoUpdater.checkForUpdates();

    // 每小时检查一次更新
    setInterval(() => {
      autoUpdater.checkForUpdates();
    }, 3600000);

    // 监听更新事件
    autoUpdater.on('update-available', (info) => {
      console.log('有可用更新:', info.version);
      // 向渲染进程发送更新可用消息
      mainWindow.webContents.send('update-available', info);
    });

    autoUpdater.on('update-not-available', () => {
      console.log('没有可用更新');
    });

    autoUpdater.on('error', (err) => {
      console.error('更新出错:', err);
      mainWindow.webContents.send('update-error', err.message);
    });

    // 下载进度
    autoUpdater.on('download-progress', (progressObj) => {
      mainWindow.webContents.send('download-progress', progressObj);
    });

    // 更新下载完成
    autoUpdater.on('update-downloaded', (info) => {
      console.log('更新下载完成');
      mainWindow.webContents.send('update-downloaded', info);
      
      // 提示用户安装更新
      dialog.showMessageBox(mainWindow, {
        type: 'info',
        title: '更新准备就绪',
        message: '新版本已下载完成，是否立即重启应用以应用更新？',
        buttons: ['立即重启', '稍后']
      }).then((result:any) => {
        if (result.response === 0) {
          autoUpdater.quitAndInstall();
        }
      });
    });
  }
}
export default {
    setupAutoUpdater
};

    
